package com.siyougame.business.controller.app.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Data
public class ThirdUserDTO {

    @JsonProperty("code")
    private Integer code;
    @JsonProperty("message")
    private Object message;
    @JsonProperty("data")
    private DataDTO data;

    @NoArgsConstructor
    @Data
    public static class DataDTO {
        @JsonProperty("sessionId")
        private Object sessionId;
        @JsonProperty("id")
        private String id;
        @JsonProperty("username")
        private String username;
        @JsonProperty("password")
        private String password;
        @JsonProperty("decipherable")
        private String decipherable;
        @JsonProperty("sharedSecret")
        private String sharedSecret;
        @JsonProperty("sharedCounter")
        private String sharedCounter;
        @JsonProperty("userType")
        private String userType;
        @JsonProperty("userState")
        private String userState;
        @JsonProperty("windowsAccount")
        private String windowsAccount;
        @JsonProperty("displayName")
        private String displayName;
        @JsonProperty("nickName")
        private String nickName;
        @JsonProperty("nameZhSpell")
        private Object nameZhSpell;
        @JsonProperty("nameZhShortSpell")
        private Object nameZhShortSpell;
        @JsonProperty("givenName")
        private String givenName;
        @JsonProperty("middleName")
        private String middleName;
        @JsonProperty("familyName")
        private String familyName;
        @JsonProperty("honorificPrefix")
        private Object honorificPrefix;
        @JsonProperty("honorificSuffix")
        private Object honorificSuffix;
        @JsonProperty("formattedName")
        private Object formattedName;
        @JsonProperty("married")
        private Integer married;
        @JsonProperty("gender")
        private Integer gender;
        @JsonProperty("birthDate")
        private Object birthDate;
        //@JsonProperty("pictureBase64")
        //private String pictureBase64;
        @JsonProperty("pictureId")
        private Object pictureId;
        @JsonProperty("idType")
        private Integer idType;
        @JsonProperty("idCardNo")
        private String idCardNo;
        @JsonProperty("education")
        private String education;
        @JsonProperty("graduateFrom")
        private String graduateFrom;
        @JsonProperty("graduateDate")
        private Object graduateDate;
        @JsonProperty("webSite")
        private String webSite;
        @JsonProperty("startWorkDate")
        private Object startWorkDate;
        @JsonProperty("authnType")
        private Integer authnType;
        @JsonProperty("email")
        private String email;
        @JsonProperty("emailVerified")
        private Integer emailVerified;
        @JsonProperty("mobile")
        private String mobile;
        @JsonProperty("mobileVerified")
        private Integer mobileVerified;
        @JsonProperty("passwordQuestion")
        private String passwordQuestion;
        @JsonProperty("passwordAnswer")
        private String passwordAnswer;
        @JsonProperty("appLoginAuthnType")
        private Integer appLoginAuthnType;
        @JsonProperty("appLoginPassword")
        private String appLoginPassword;
        @JsonProperty("protectedApps")
        private String protectedApps;
        @JsonProperty("passwordLastSetTime")
        private String passwordLastSetTime;
        @JsonProperty("badPasswordCount")
        private Integer badPasswordCount;
        @JsonProperty("badPasswordTime")
        private String badPasswordTime;
        @JsonProperty("unLockTime")
        private String unLockTime;
        @JsonProperty("isLocked")
        private Integer isLocked;
        @JsonProperty("lastLoginTime")
        private String lastLoginTime;
        @JsonProperty("lastLoginIp")
        private String lastLoginIp;
        @JsonProperty("lastLogoffTime")
        private String lastLogoffTime;
        @JsonProperty("passwordSetType")
        private Integer passwordSetType;
        @JsonProperty("loginCount")
        private Integer loginCount;
        @JsonProperty("regionHistory")
        private Object regionHistory;
        @JsonProperty("passwordHistory")
        private Object passwordHistory;
        @JsonProperty("locale")
        private String locale;
        @JsonProperty("timeZone")
        private String timeZone;
        @JsonProperty("preferredLanguage")
        private String preferredLanguage;
        @JsonProperty("workCountry")
        private String workCountry;
        @JsonProperty("workRegion")
        private String workRegion;
        @JsonProperty("workLocality")
        private String workLocality;
        @JsonProperty("workStreetAddress")
        private String workStreetAddress;
        @JsonProperty("workAddressFormatted")
        private Object workAddressFormatted;
        @JsonProperty("workEmail")
        private String workEmail;
        @JsonProperty("workPhoneNumber")
        private String workPhoneNumber;
        @JsonProperty("workPostalCode")
        private String workPostalCode;
        @JsonProperty("workFax")
        private String workFax;
        @JsonProperty("workOfficeName")
        private Object workOfficeName;
        @JsonProperty("homeCountry")
        private String homeCountry;
        @JsonProperty("homeRegion")
        private String homeRegion;
        @JsonProperty("homeLocality")
        private String homeLocality;
        @JsonProperty("homeStreetAddress")
        private String homeStreetAddress;
        @JsonProperty("homeAddressFormatted")
        private Object homeAddressFormatted;
        @JsonProperty("homeEmail")
        private String homeEmail;
        @JsonProperty("homePhoneNumber")
        private String homePhoneNumber;
        @JsonProperty("homePostalCode")
        private String homePostalCode;
        @JsonProperty("homeFax")
        private String homeFax;
        @JsonProperty("employeeNumber")
        private String employeeNumber;
        @JsonProperty("costCenter")
        private Object costCenter;
        @JsonProperty("organization")
        private String organization;
        @JsonProperty("division")
        private Object division;
        @JsonProperty("departmentId")
        private String departmentId;
        @JsonProperty("department")
        private String department;
        @JsonProperty("jobTitle")
        private String jobTitle;
        @JsonProperty("jobLevel")
        private String jobLevel;
        @JsonProperty("managerId")
        private String managerId;
        @JsonProperty("manager")
        private String manager;
        @JsonProperty("assistantId")
        private Object assistantId;
        @JsonProperty("assistant")
        private Object assistant;
        @JsonProperty("entryDate")
        private Object entryDate;
        @JsonProperty("quitDate")
        private Object quitDate;
        @JsonProperty("defineIm")
        private Object defineIm;
        @JsonProperty("weixinFollow")
        private Integer weixinFollow;
        @JsonProperty("theme")
        private String theme;
        @JsonProperty("extraAttribute")
        private Object extraAttribute;
        @JsonProperty("extraAttributeName")
        private Object extraAttributeName;
        @JsonProperty("extraAttributeValue")
        private Object extraAttributeValue;
        @JsonProperty("online")
        private Integer online;
        @JsonProperty("ldapDn")
        private Object ldapDn;
        @JsonProperty("gridList")
        private Integer gridList;
        @JsonProperty("createdBy")
        private Object createdBy;
        @JsonProperty("createdDate")
        private String createdDate;
        @JsonProperty("modifiedBy")
        private String modifiedBy;
        @JsonProperty("modifiedDate")
        private String modifiedDate;
        @JsonProperty("status")
        private Integer status;
        @JsonProperty("description")
        private Object description;
        @JsonProperty("instId")
        private String instId;
        @JsonProperty("instName")
        private Object instName;
        @JsonProperty("syncId")
        private Object syncId;
        @JsonProperty("syncName")
        private Object syncName;
        @JsonProperty("originId")
        private Object originId;
        @JsonProperty("originId2")
        private Object originId2;
        @JsonProperty("depts")
        private Object depts;
    }
}
